#cssmenu,#cssmenu ul,#cssmenu ul li,#cssmenu ul li a,#cssmenu #menu-button { margin:0; padding:0; border:0; list-style:none; line-height:1; display:block; position:relative; -webkit-box-sizing:border-box; -moz-box-sizing:border-box; box-sizing:border-box; }
#cssmenu:after,#cssmenu > ul:after { content:"."; display:block; clear:both; visibility:hidden; line-height:0; height:0;}
#cssmenu #menu-button { display:none; }
#cssmenu { width:auto; font-family:'Open Sans', sans-serif; line-height:1; float:left; }
#menu-line { position:absolute; bottom:0; left:0; height:2px; background:#ec0000; z-index:0; -webkit-transition:all 0.25s ease-out; -moz-transition:all 0.25s ease-out; -ms-transition:all 0.25s ease-out; -o-transition:all 0.25s ease-out; transition:all 0.25s ease-out; }
#cssmenu > ul > li { float:left; }
#cssmenu > ul > li:before { width:1px; height:18px; content:""; position:absolute; top:30px; right:0px; }
#cssmenu > ul > li:nth-last-child(1) i { color:#fc5a03; }
#cssmenu > ul > li:nth-last-child(1):before { display:none; }
#cssmenu.align-center > ul { font-size:0; text-align:center; }
#cssmenu.align-center > ul > li { display:inline-block; float:none; }
#cssmenu.align-center ul ul { text-align:left; }
#cssmenu.align-right > ul > li { float:right; }
#cssmenu.align-right ul ul { text-align:right; }
#cssmenu > ul > li > a { padding:0 22px; font-size:16px; line-height:70px; text-decoration:none;color:#666; -webkit-transition:color .2s ease; -moz-transition:color .2s ease; -ms-transition:color .2s ease; -o-transition:color .2s ease; transition:color .2s ease; }
#cssmenu > ul > li:hover > a,#cssmenu > ul > li.active > a { color:#0054d0; }
#cssmenu > ul > li.has-sub > a { padding-right:25px; }
#cssmenu > ul > li.has-sub > a::after { position:absolute; top:46px; right:10px; width:6px; height:6px; border-bottom:1px solid #fff; border-right:1px solid #fff; content:""; -webkit-transform:rotate(45deg); -moz-transform:rotate(45deg); -ms-transform:rotate(45deg); -o-transform:rotate(45deg); transform:rotate(45deg); -webkit-transition:border-color 0.2s ease; -moz-transition:border-color 0.2s ease; -ms-transition:border-color 0.2s ease; -o-transition:border-color 0.2s ease; transition:border-color 0.2s ease; }
#cssmenu > ul > li.has-sub:hover > a::after { border-color:#fff; }
#cssmenu ul ul { position:absolute; z-index:999; left:-9999px; }
#cssmenu li:hover > ul { left:auto; }
#cssmenu.align-right li:hover > ul { right:0; }
#cssmenu ul ul ul { margin-left:100%; top:0; }
#cssmenu.align-right ul ul ul { margin-left:0; margin-right:100%; }
#cssmenu ul ul li { height:0; -webkit-transition:height .2s ease; -moz-transition:height .2s ease; -ms-transition:height .2s ease; -o-transition:height .2s ease; transition:height .2s ease; }
#cssmenu ul li:hover > ul { padding:5px 0 10px 0; background:#004ec0; }
#cssmenu ul li:hover > ul > li { height:36px; }
#cssmenu ul ul li a { padding:8px 20px; width:110px; font-size:16px; text-decoration:none; color:#fff; -webkit-transition:color .2s ease; -moz-transition:color .2s ease; -ms-transition:color .2s ease; -o-transition:color .2s ease; transition:color .2s ease; }
#cssmenu ul ul li:hover > a,#cssmenu ul ul li a:hover { color:#ff9f00; }
#cssmenu ul ul li.has-sub > a::after { position:absolute; top:13px; right:10px; width:4px; height:4px; border-bottom:1px solid #dddddd; border-right:1px solid #dddddd; content:""; -webkit-transform:rotate(-45deg); -moz-transform:rotate(-45deg); -ms-transform:rotate(-45deg); -o-transform:rotate(-45deg); transform:rotate(-45deg); -webkit-transition:border-color 0.2s ease; -moz-transition:border-color 0.2s ease; -ms-transition:border-color 0.2s ease; -o-transition:border-color 0.2s ease; transition:border-color 0.2s ease; }
#cssmenu.align-right ul ul li.has-sub > a::after { right:auto; left:10px; border-bottom:0; border-right:0; border-top:1px solid #dddddd; border-left:1px solid #dddddd; }
#cssmenu ul ul li.has-sub:hover > a::after { border-color:#fff; }
@media all and (max-width:768px), only screen and (-webkit-min-device-pixel-ratio: 2) and (max-width:1024px), only screen and (min--moz-device-pixel-ratio: 2) and (max-width:1024px), only screen and (-o-min-device-pixel-ratio: 2/1) and (max-width: 1024px), only screen and (min-device-pixel-ratio: 2) and (max-width: 1024px), only screen and (min-resolution: 192dpi) and (max-width: 1024px), only screen and (min-resolution: 2dppx) and (max-width: 1024px) {
  #cssmenu { width:100%; }
  #cssmenu ul { width:100%; display:none; }
  #cssmenu.align-center > ul,#cssmenu.align-right ul ul { text-align:left; }
  #cssmenu ul li,#cssmenu ul ul li,#cssmenu ul li:hover > ul > li { width:100%; height:auto; border-top:1px solid rgba(120, 120, 120, 0.15); }
  #cssmenu ul li a,#cssmenu ul ul li a { width:100%; padding:0px; }
  #cssmenu > ul > li,#cssmenu.align-center > ul > li,#cssmenu.align-right > ul > li { float:none; display:block; }
  #cssmenu ul ul li a { padding:20px 20px 20px 30px; font-size:14px; color:#fff; background:none; }
  #cssmenu ul ul li:hover > a,#cssmenu ul ul li a:hover { color:#fff; }
  #cssmenu ul ul ul li a { padding-left:40px; }
  #cssmenu ul ul,#cssmenu ul ul ul { position:relative; left:0; right:auto; width:100%; margin:0; }
  #cssmenu > ul > li.has-sub > a::after, #cssmenu ul ul li.has-sub > a::after { display:none; }
  #menu-line { display:none; }
  #cssmenu #menu-button { display:block; padding:20px; color:#fff; text-align:right; cursor:pointer; font-size:14px; text-transform:uppercase; }
  #cssmenu #menu-button::after { content:''; position:absolute; top:20px; right:5px; display:block; width:15px; height:2px; background:#fff; }
  #cssmenu #menu-button::before { content:''; position:absolute; top:25px; right:5px; display:block; width:15px; height:7px; border-top:2px solid #fff; border-bottom:2px solid #fff; }
  #cssmenu .submenu-button { position:absolute; z-index:10; right:0; top:0; display:block; border-left:1px solid rgba(120, 120, 120, 0.15); height:42px; width:42px; cursor:pointer; }
  #cssmenu .submenu-button::after { content:''; position:absolute; top:16px; left:26px; display:block; width:1px; height:11px; background:#fff; z-index:99; }
  #cssmenu .submenu-button::before { content:''; position:absolute; left:21px; top:21px; display:block; width:11px; height:1px; background:#fff; z-index:99; }
  #cssmenu .submenu-button.submenu-opened:after { display:none; }
}
